<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>

<head>
<title>Qhull code for Convex Hull, Delaunay Triangulation, Voronoi Diagram, and Halfspace Intersection about a Point</title>
</head>

<body>
<!-- Navigation links -->
<b>URL:</b> <a href="http://www.qhull.org">http://www.qhull.org</a>
&#149; <a href="http://www.qhull.org/news">News</a>
&#149; <a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Scholar</a>
&#149; <a href=http://images.google.com/images?q=qhull&num=100>Images</a>
&#149; <a href="https://github.com/qhull/qhull/wiki">GitHub</a>
<br><b>To:</b>
<a href="http://www.qhull.org/download">Download</a>
&#149; <a href="README.txt">Readme</a>
&#149; <a href="html/index.htm">Manual</a>
&#149; <a href="html/qh-quick.htm#programs">Programs</a>
&#149; <a href="html/qh-quick.htm#options">Options</a>
&#149; <a href="html/qh-faq.htm">FAQ</a>
&#149; <a href="html/qh-code.htm">Code</a>
&#149; <a href="http://www.qhull.org/src/libqhull_r/index.htm">Functions</a>
</p>

<hr>
<!-- Main text of document -->
<table>
<tr><td valign=top>
        <h1>Qhull</h1>
        <a
        href="http://www.geom.uiuc.edu/graphics/pix/Special_Topics/Computational_Geometry/cone.html"><img
        src="html/qh--cone.gif" alt="[CONE]" align="middle" width="100"
        height="100"></a>
</td><td>
Qhull computes the convex hull, Delaunay triangulation, Voronoi diagram,
halfspace intersection about a point, furthest-site Delaunay
triangulation, and furthest-site Voronoi diagram. The source code runs in
2-d, 3-d, 4-d, and higher dimensions. Qhull implements the Quickhull
algorithm for computing the convex hull. It handles roundoff
errors from floating point arithmetic. It computes volumes,
surface areas, and approximations to the convex hull.</p>

<!-- duplicated in index.htm and html/index.htm -->
<p>Qhull does <i>not</i> support triangulation of non-convex surfaces, mesh
generation of non-convex objects, medium-sized inputs in 9-D
and higher, alpha shapes, weighted Voronoi diagrams, Voronoi volumes, or
constrained Delaunay triangulations,  </p>

<p>If you call Qhull from your program, please use reentrant Qhull (libqhull_r or libqhullstatic_r).
If you use Qhull 2003.1, please upgrade or apply <a href="http://www.qhull.org/download/poly.c-qh_gethash.patch">poly.c-qh_gethash.patch</a>.
</p>
</td></tr></table>

<hr>
<form method=get action=http://www.google.com/search>
<input type=hidden name=sitesearch value=www.qhull.org>
<input type=hidden name=num value=100>
<ul>
    <li><a href="http://www.qhull.org/news">News</a> and
        <a href="http://www.qhull.org/news/qhull-news.html#bugs">Bugs</a>
        about Qhull 2020.2  2020/08/31 (8.0.2)</li>
	<li><a href="http://www.qhull.org/download">Download</a> Qhull (<a href="http://www.qhull.org/src/Changes.txt">changes</a>)</li>
	<li><a href="https://github.com/qhull/qhull/wiki">GitHub</a> C++ interface to Qhull
	<li><a href="html/index.htm">Introduction and manual</a> for Qhull and rbox with a <a href="html/qh-faq.htm">FAQ</a>
	<li><a href="html/index.htm#geomview">Geomview</a> for 3-D and 4-D visualization of Qhull output
	<li><input name=as_q size=10 value="">
                <input type="submit" value="Search">
                www.qhull.org
        <p>
    <li><a href="http://www.qhull.org/news/qhull-news.html#users">How</a> is Qhull used?</li>
        <li><a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Google Scholar</a>,
        and <a href="http://citeseerx.ist.psu.edu/showciting?doi=10.1.1.117.405&sort=cite">CiteSeer</a>
        references to Qhull
    <li>
    <a href=http://www.google.com/search?as_q=qhull+-debian+-cvs+-gentoo+-pool+-mirrors&num=100>Google</a> Qhull,
         <a href="http://images.google.com/images?q=qhull&num=100">Images</a>,
         <a href="http://www.google.com/#q=qhull&tbm=bks">Books</a>,
         <a href="http://www.google.com/search?q=qhull&tbm=pts">Patents</a>,
         <a href="http://groups.google.com/groups?as_q=qhull&num=100&as_scoring=d">Newsgroups</a>,
        and <a href=http://www.googlism.com/who_is/q/qhull/>Who is</a> Qhull?


        <p>
        <li><a href=http://www.mathworks.com/>MATLAB</a> uses Qhull for their n-d computational geometry functions:
        <a href=http://www.mathworks.com/help/matlab/ref/convhulln.html>convhulln</a>
        <a href=http://www.mathworks.com/help/matlab/ref/delaunayn.html>delaunayn</a>
        <a href=http://www.mathworks.com/help/matlab/ref/griddatan.html>griddatan</a>
        <a href=http://www.mathworks.com/help/matlab/ref/voronoin.html>voronoin</a>.
    </li>
        <li>The <a href="http://cran.r-project.org/web/packages/geometry/geometry.pdf">geometry</a> package of <a href="http://www.r-project.org/">R</a> provides <a href="http://geometry.r-forge.r-project.org/">Qhull in R</a>.
        <li><a href=http://www.octave.org/>GNU Octave</a> includes Qhull for <a href="http://www.gnu.org/software/octave/doc/interpreter/Geometry.html">computational geometry<a>.
        <li><a href=http://www.wolfram.com/products/mathematica/>Mathematica</a>'s Delaunay interface <a href=http://library.wolfram.com/infocenter/MathSource/1160/>qh-math</a>.
     <li>The <a href="http://docs.scipy.org/doc/scipy/reference/tutorial/spatial.html">scipy.spatial</a> of <a href="http://scipy.org/">SciPy</a> is implemented with Qhull.  It includes
     support for Delaunay triangulations.
</ul>
</form>

<p><b>Introduction</b>
<ul>
    <li><a
        href="http://media.steampowered.com/apps/valve/2014/DirkGregorius_ImplementingQuickHull.pdf">Gregorius' talk</a> on implementing Quickhull,
        Lloyd's <a href="https://www.cs.ubc.ca/~lloyd/java/quickhull3d.html">QuickHull3D</a> in Java,
        and Newbold's <a href="http://dogfeathers.com/java/ccppoly.html">Waterman polyhedra</a>
    <li><a
        href="http://www.cs.mcgill.ca/~fukuda/soft/polyfaq/polyfaq.html"
                >Fukuda's introduction</a> to convex hulls, Delaunay
        triangulations, Voronoi diagrams, and linear programming</li>
        <li><a
        href="http://www.algorithmic-solutions.info/leda_guide/geometryalgorithms.html"
                >LEDA Guide</a> to geometry algorithms
        <li><a
            href="http://mathworld.wolfram.com/ComputationalGeometry.html"
                >MathWorld's</a> Computational Geometry from Wolfram Research
        <li><a
                href="http://www.cs.sunysb.edu/~algorith/major_section/1.6.shtml"
                >Skiena's</a> Computational Geometry from his <i>Algorithm Design Manual</i>.
    <li><a
        href="http://www.cs.sunysb.edu/~algorith/major_section/1.6.shtml"
                >Stony Brook</a> Algorithm Repository, computational geometry</li>
</ul>

<p><b>Qhull Documentation and Support</b>
<ul>
   <li><a href="html/index.htm">Manual</a> for Qhull and rbox
   <table><tr><td>
        <ul>
          <li>Quick reference to <a href="html/qh-quick.htm#programs">Programs</a> and <a href="html/qh-quick.htm#options">Options</a>
                <li><a href="html/index.htm#when">When</a> to use Qhull
                <li><a href="html/index.htm#description">Description</a> of Qhull
                <li><a href="html/qh-impre.htm">Imprecision</a> in Qhull
                <li><a href="html/qconvex.htm">qconvex</a> -- convex hull
                <li><a href="html/qdelaun.htm">qdelaunay</a> -- Delaunay triangulation
                <li><a href="html/qvoronoi.htm">qvoronoi</a> -- Voronoi diagram
                <li><a href="html/qhalf.htm">qhalf</a> -- halfspace intersection about a point
                <li><a href="html/rbox.htm">rbox</a> -- generate point distributions
        </ul></td><td><ul>
            <li><a href="README.txt">README.txt</a> - installation
            instructions<br>
            <li><a href="COPYING.txt">COPYING.txt</a> - copyright notice<br>
            <li><a href="REGISTER.txt">REGISTER.txt</a> - registration<br>
            <li><a href="html/index.htm#geomview">Geomview</a> for visualizing Qhull
            <li><a href="html/qh-faq.htm">FAQ</a> - frequently asked
                questions about Qhull</li>
            <li><a href="src/Changes.txt">Changes.txt</a> - change history <br>
            <li><a href="html/qh-code.htm">Qhull code</a>
            <li><a href="html/qh-code.htm#performance">Performance</a> of Qhull
            <li><a href="http://www.qhull.org/src/libqhull_r/index.htm">Index</a> to Qhull Functions
            </ul>
        </td></tr></table>
    <li><a href="https://github.com/qhull/qhull/wiki/Qhull-build-systems">Qhull build systems</a>
    <li>Send e-mail to <a href=mailto:qhull@qhull.org>qhull@qhull.org</a> </li>
    <li>Report bugs to <a
        href="mailto:qhull_bug@qhull.org">qhull_bug@qhull.org</a>
</ul>

<p><b>Related URLs</b>
<ul>
    <li>Amenta's <a href="http://www.geom.uiuc.edu/software/cglist">directory</a> of
        computational geometry software </li>

        <li><a href=http://www.boost.org/libs/graph/doc/table_of_contents.html>BGL</a>
        Boost Graph Library provides C++ classes for graph data structures
and algorithms,
    <li><a href=http://www.cgal.org/>CGAL</a> and <a href=http://www.algorithmic-solutions.com/index.php/products/leda-for-c>Leda</a>
libraries for writing computational
geometry programs and other combinatorial algorithms
    <li>Clarkson's <a
        href="http://www.netlib.org/voronoi/hull.html">hull</a> program
        with exact arithmetic for convex hulls, Delaunay triangulations,
                Voronoi volumes, and alpha shapes. </li>
        <li>Erickson's <a href="http://jeffe.cs.illinois.edu/compgeom/">
            Computational Geometry</a> Pages and
                <a href="http://jeffe.cs.illinois.edu/compgeom/code.html">Software</a>
    <li>Fukuda's <a
        href="http://www.cs.mcgill.ca/~fukuda/soft/cdd_home/cdd.html">
        cdd</a> program for halfspace intersection and convex hulls (<a
        href="http://www.csb.ethz.ch/tools/polco">Polco/Java</a>)</li>
        <li>Gartner's <a href="http://www.inf.ethz.ch/personal/gaertner/miniball.html">
        Miniball</a> for fast and robust smallest enclosing balls (up to 20-d)

        <li><a href=http://www.mathtools.net/>Mathtools.net</a> of scientific and engineering
        software
    <li>Owen's <a href="http://www.imr.sandia.gov/papers/topics.html">International Meshing</a> Roundtable
    <li>Schneiders' <a
        href="http://www.robertschneiders.de/meshgeneration/meshgeneration.html">
        Finite Element</a> Mesh Generation page</li>
     <li>Shewchuk's <a href="http://www.cs.cmu.edu/~quake/triangle.html">triangle</a> program for 2-d Delaunay</li>
     <li>Teillaud's <a href="http://www.computational-geometry.org/">Computional Geometry Pages</a> for the Society of Computational Geometry and academic conferences.
        <li>Tomilov's <a href="https://github.com/tomilov/quickhull/blob/master/include/quickhull.hpp">quickhull.hpp</a> (<a href="http://habrahabr.ru/post/245221/">doc-ru</a>) implements the Quickhull algorithm for points in general position.
        <li><a href=http://www.voronoi.com>Voronoi Web Site</a> for all things Voronoi
        <li>Young's <a href="http://homepage.usask.ca/~ijm451/finite/fe_resources/">Internet Finite Element Resources</a>
        <li>Zolotykh's <a href="http://www.uic.unn.ru/~zny/skeleton/">Skeleton</a> generates all extreme rays of a polyhedral cone using the Double Description Method</li>
</ul>

<p><b>FAQs and Newsgroups</b>
<ul>
    <li><a
        href="http://www.faqs.org/faqs/graphics/algorithms-faq/">FAQ</a>
        for computer graphics algorithms
    </li>
    <li><a
        href="http://lpsolve.sourceforge.net/4.0/LinearProgrammingFAQ.htm">FAQ</a> for linear programming </li>
    <li><a href="news:comp.graphics.algorithms">Newsgroup</a>:
        comp.graphics.algorithms </li>
        <li><a href="news:comp.soft-sys.matlab">Newsgroup</a>:
            comp.soft-sys.matlab</li>
    <li><a href="news:sci.math.num-analysis">Newsgroup</a>:
        sci.math.num-analysis </li>
    <li><a href="news:sci.op-research">Newsgroup</a>:
        sci.op-research </li>
</ul>
</blockquote>
<hr>

<p>The program includes options for input transformations,
randomization, tracing, multiple output formats, and execution
statistics. The program can be called from within your
application. </p>

<p>You can view the results in 2-d, 3-d and 4-d with <a
href="http://www.geomview.org">Geomview</a>.   An alternative
is <a href=http://www.vtk.org/>VTK</a>.</p>

<p>For an article about Qhull, download from
  <a href="https://dl.acm.org/authorize?N685077">ACM</a> or <a
    href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.405">CiteSeer</a>:
</p>

<blockquote>
    <p>Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T., &quot;The
    Quickhull algorithm for convex hulls,&quot; <i>ACM Trans. on
    Mathematical Software</i>, 22(4):469-483, Dec 1996, http://www.qhull.org</p>
</blockquote>

<p>Abstract: </p>

<blockquote>
    <p>The convex hull of a set of points is the smallest convex
    set that contains the points. This article presents a
    practical convex hull algorithm that combines the
    two-dimensional Quickhull Algorithm with the general
    dimension Beneath-Beyond Algorithm. It is similar to the
    randomized, incremental algorithms for convex hull and
    Delaunay triangulation. We provide empirical evidence that
    the algorithm runs faster when the input contains non-extreme
    points, and that it uses less memory. </p>
    <p>Computational geometry algorithms have traditionally
    assumed that input sets are well behaved. When an algorithm
    is implemented with floating point arithmetic, this
    assumption can lead to serious errors. We briefly describe a
    solution to this problem when computing the convex hull in
    two, three, or four dimensions. The output is a set of
    "thick" facets that contain all possible exact convex hulls
    of the input. A variation is effective in five or more
    dimensions. </p>
</blockquote>
<!-- Navigation links -->
<hr>

<p><b>Up:</b> <a href="http://www.geom.uiuc.edu/software/past-projects.html"><i>Past Software
Projects of the Geometry Center</i></a> <br>
<b>URL:</b> <a href="http://www.qhull.org">http://www.qhull.org</a>
&#149; <a href="http://www.qhull.org/news">News</a>
&#149; <a href="http://scholar.google.com/scholar?cites=13151392091060773178&as_sdt=40000005">Scholar</a>
&#149; <a href=http://images.google.com/images?q=qhull&num=100>Images</a>
&#149; <a href="https://github.com/qhull/qhull/wiki">GitHub</a>
<br><b>To:</b>
<a href="http://www.qhull.org/download">Download</a>
&#149; <a href="README.txt">Readme</a>
&#149; <a href="html/index.htm#TOC">Manual</a>
&#149; <a href="html/qh-quick.htm#programs">Programs</a>
&#149; <a href="html/qh-quick.htm#options">Options</a>
&#149; <a href="http://www.qhull.org/html/qh-faq.htm">FAQ</a>
&#149; <a href="html/qh-code.htm">Code</a>
&#149; <a href="http://www.qhull.org/src/libqhull_r/index.htm">Functions</a>
<!-- GC common information --></p>

<hr>

<p><a href="http://www.geom.uiuc.edu/"><img src="html/qh--geom.gif" alt="[HOME]"
align="middle"></a> <i>The Geometry Center Home Page</i> </p>

<p>Comments to: <a href="mailto:qhull@qhull.org">qhull@qhull.org</a>
<br>
Created: May 17 1995 --- <!-- hhmts start -->
</body>
</html>
